/**
 * 字符串格式化
 * @param args 格式化参数值
 * @usage "a={a}, b={b}".format({a:'我是a', b:'我是b'}) -> "a=我是a, b=我是b"
 * @usage "a={0}, b={1}".format('我是0', '我是1') -> "a=我是0, b=我是1"
 */
String.prototype.format = function(args) {
    var result = this;
    if (arguments.length < 1) {
        return result;
    }
    var data = arguments; // 如果模板参数是数组
    if (arguments.length == 1 && typeof (args) == "object") {
        // 如果模板参数是对象
        data = args;
    }
    result = result.replace(/{(\w+)}/g,  function(_, b){
        return data[b] == undefined?"":data[b];
    });
    return result;
};